import { _decorator, AnimationClip, Animation, Component, Node } from "cc"
import { FSM_PARAMS_TYPE_ENUM, PARAME_NAME_ENUM } from "../Enums"
import State from "./state"

const { ccclass, property } = _decorator

export abstract class SubStateMachine {
  private _currentState = null
  stateMachines = new Map()
  constructor(public fsm) {}

  get currentState() {
    return this._currentState
  }
  set currentState(newState) {
    this._currentState = newState
    this._currentState.run()
  }
  //   abstract init(): void
  // abstract run(paramsName, value): void

  update(deltaTime: number) {}
}
